/** @noSelfInFile **/
import {LocModel} from "../../../base/LocModel";

export let itemAdapter: { adapter: IItemAdapter } = { adapter: undefined };

export interface IItemAdapter {
    createHandle(id: string, loc: LocModel): any;
    getCharges(handle: any): number;
    setCharges(handle: any, value: number): void;
    setInvulnerable(handle: any, flag: boolean): void;
    getInvulnerable(handle: any): boolean;
    getShow(handle: any): boolean
    setShow(handle: any, show: boolean): void;
    getName(handle: any): string;
    getStrId(handle: any): string;
    getLife(handle: any): number;
    setLife(handle: any, value: number): void;
    isAlive(handle: any): boolean;
    getLoc(handle: any): LocModel;
    setLoc(handle: any, locModel: LocModel): void;
    isPawnable(handle: any): boolean;
    isPowerup(handle: any): boolean;
    setDropOnDeath(handle: any, flag: boolean): void;
    setDroppable(handle: any, flag: boolean): void;
    destroy(handle: any): void;
    bindHandle(handle: any): void;
    equal(handle1: any, handle2: any): boolean
    isValid(handle: any): boolean
}
